#ifndef logomaticv2_included
#define logomaticv2_included

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// FILE NAME:     $Source:$
//                $Date:$
//                $Revision:$
//
// AUTHOR:        Jean-Sebastien Stoezel (js.stoezel@gmail.com)
//
// DESCRIPTION:   Logomatic V2 hardware specific methods.
//
// HISTORY:       $Log:$
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// INCLUDES
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#include <stdint.h>


////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// MACROS
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

#define LOGOMATIC_STAT_ON	1
#define LOGOMATIC_STAT_OFF	0

#define STAT0     21
#define STAT1     31
#define STAT2     25    // P0.25 is the odometer/motor control pin


////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// TYPES
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// PROTOTYPES
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// NAME:          LogomaticV2Blinky
// DESCRIPTION:   Run a forever blinky test on the status LEDs.
// RETURN VALUE:  None
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void LogomaticV2Blinky(void);

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// NAME:          LogomaticV2Init
// DESCRIPTION:   Initialize the logomatic v2 board CPU and peripherals.
// RETURN VALUE:  None
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void LogomaticV2Init(void);

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// NAME:          LogomaticV2Stat
// DESCRIPTION:   Turn the specified status LED on or off.
// RETURN VALUE:  None
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void LogomaticV2Stat(
   const uint32_t statNum, // in, status LED index
   const uint32_t onOff    // in, whether the LED should be turned ON or OFF
   );

#endif // #ifndef logomaticv2_included
